// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.

package org.jetbrains.kotlin.idea.codeInsight.hints;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.idea.base.plugin.KotlinPluginMode;
import org.jetbrains.kotlin.idea.base.test.TestRoot;
import org.jetbrains.kotlin.idea.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.idea.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

/**
 * This class is generated by {@link org.jetbrains.kotlin.testGenerator.generator.TestGenerator}.
 * DO NOT MODIFY MANUALLY.
 */
@SuppressWarnings("all")
@TestRoot("idea/tests")
@TestDataPath("$CONTENT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@TestMetadata("testData/codeInsight/hints/lambda")
public class KotlinLambdasHintsProviderGenerated extends AbstractKotlinLambdasHintsProvider {
    @java.lang.Override
    @org.jetbrains.annotations.NotNull
    public final KotlinPluginMode getPluginMode() {
        return KotlinPluginMode.K1;
    }

    private void runTest(String testDataFilePath) throws Exception {
        KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    @TestMetadata("AnnotatedStatement.kt")
    public void testAnnotatedStatement() throws Exception {
        runTest("testData/codeInsight/hints/lambda/AnnotatedStatement.kt");
    }

    @TestMetadata("DisabledHints.kt")
    public void testDisabledHints() throws Exception {
        runTest("testData/codeInsight/hints/lambda/DisabledHints.kt");
    }

    @TestMetadata("Elvis.kt")
    public void testElvis() throws Exception {
        runTest("testData/codeInsight/hints/lambda/Elvis.kt");
    }

    @TestMetadata("If.kt")
    public void testIf() throws Exception {
        runTest("testData/codeInsight/hints/lambda/If.kt");
    }

    @TestMetadata("ImplicitIt.kt")
    public void testImplicitIt() throws Exception {
        runTest("testData/codeInsight/hints/lambda/ImplicitIt.kt");
    }

    @TestMetadata("ImplicitSingleLine.kt")
    public void testImplicitSingleLine() throws Exception {
        runTest("testData/codeInsight/hints/lambda/ImplicitSingleLine.kt");
    }

    @TestMetadata("ImplicitThis.kt")
    public void testImplicitThis() throws Exception {
        runTest("testData/codeInsight/hints/lambda/ImplicitThis.kt");
    }

    @TestMetadata("ImplicitThisAndIt.kt")
    public void testImplicitThisAndIt() throws Exception {
        runTest("testData/codeInsight/hints/lambda/ImplicitThisAndIt.kt");
    }

    @TestMetadata("ImplicitThisAndNamedSingleParameter.kt")
    public void testImplicitThisAndNamedSingleParameter() throws Exception {
        runTest("testData/codeInsight/hints/lambda/ImplicitThisAndNamedSingleParameter.kt");
    }

    @TestMetadata("Label.kt")
    public void testLabel() throws Exception {
        runTest("testData/codeInsight/hints/lambda/Label.kt");
    }

    @TestMetadata("LabeledStatement.kt")
    public void testLabeledStatement() throws Exception {
        runTest("testData/codeInsight/hints/lambda/LabeledStatement.kt");
    }

    @TestMetadata("Nested.kt")
    public void testNested() throws Exception {
        runTest("testData/codeInsight/hints/lambda/Nested.kt");
    }

    @TestMetadata("NoHintForSingleExpression.kt")
    public void testNoHintForSingleExpression() throws Exception {
        runTest("testData/codeInsight/hints/lambda/NoHintForSingleExpression.kt");
    }

    @TestMetadata("OneLineIf.kt")
    public void testOneLineIf() throws Exception {
        runTest("testData/codeInsight/hints/lambda/OneLineIf.kt");
    }

    @TestMetadata("PostfixPrefixExpr.kt")
    public void testPostfixPrefixExpr() throws Exception {
        runTest("testData/codeInsight/hints/lambda/PostfixPrefixExpr.kt");
    }

    @TestMetadata("Qualified.kt")
    public void testQualified() throws Exception {
        runTest("testData/codeInsight/hints/lambda/Qualified.kt");
    }

    @TestMetadata("ReturnFunType.kt")
    public void testReturnFunType() throws Exception {
        runTest("testData/codeInsight/hints/lambda/ReturnFunType.kt");
    }

    @TestMetadata("SimpleCase.kt")
    public void testSimpleCase() throws Exception {
        runTest("testData/codeInsight/hints/lambda/SimpleCase.kt");
    }

    @TestMetadata("When.kt")
    public void testWhen() throws Exception {
        runTest("testData/codeInsight/hints/lambda/When.kt");
    }
}
